9.1 CXL 启动和重置概述 (CXL Boot and Reset Overview)

这一节是理解 CXL 设备如何在系统中进行生命周期管理的基础。它定义了设备会遇到的基本重置类型,并着重阐述了 CXL 相对于传统 PCIe 在重置流程中最核心的一个架构性区别——预警机制

  1. 重置类型的定义 (与PCIe的共通之处)

首先,该章节明确了 CXL 设备可以遇到的三种“常规重置”(Conventional Reset)。这些定义与 PCIe 基础规范保持一致,确保了底层的兼容性。

关键点: 该规范特意指出,功能级重置 (FLR) 和 CXL 重置 (CXL Reset) 不被视为 “常规重置”。这是因为它们的范围和目的与这三种基础重置不同,后续章节会详细说明。

  1. CXL 架构的核心区别:预警机制 (The "Warning" Mechanism)

这是 9.1 节最重要的内容,也是 CXL 为支持缓存一致性而引入的关键架构创新。

传统的 PCIe 设备在收到重置信号时,通常无法知道是什么系统级事件(比如计划内重启、系统崩溃或进入睡眠)触发了这次重置。对于一个简单的 PCIe 设备来说这问题不大,但对于拥有缓存(CXL.cache)或直接管理内存(CXL.mem)的 CXL 设备来说,突然的重置可能会导致数据丢失或一致性状态被破坏。

为了解决这个问题,CXL 提出了以下规则:

  1. 预警机制下的主机与设备责任 (The Handshake Protocol)

这个预警机制定义了一套主机和设备之间的交互协议,以确保系统状态的平稳过渡。

  1. 流程的稳健性与例外情况

虽然预警机制是 CXL 的一个重要设计,但系统设计必须考虑到例外情况,以保证稳健性。

zood